/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.commons.domain.bond;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * cere_shop_bond_withdrawal 店铺保证金提现记录实体类
 * 
 * @author
 */
@Data
@TableName("cere_shop_bond_withdrawal")
@ApiModel(value = "CereShopBondWithdrawal", description = "店铺保证金提现记录实体类")
public class CereShopBondWithdrawal implements Serializable {

  /**
   * 提现ID
   */
  @TableId(type = IdType.AUTO)
  @ApiModelProperty(value = "提现ID")
  private Long withdrawalId;

  /**
   * 关联店铺ID
   */
  @ApiModelProperty(value = "关联店铺ID")
  private Long shopId;

  /**
   * 关联保证金ID
   */
  @ApiModelProperty(value = "关联保证金ID")
  private Long bondId;

  /**
   * 提现单号
   */
  @ApiModelProperty(value = "提现单号")
  private String withdrawalNo;

  /**
   * 提现金额
   */
  @ApiModelProperty(value = "提现金额")
  private BigDecimal amount;

  /**
   * 手续费
   */
  @ApiModelProperty(value = "手续费")
  private BigDecimal fee;

  /**
   * 实际到账金额
   */
  @ApiModelProperty(value = "实际到账金额")
  private BigDecimal actualAmount;

  /**
   * 提现状态 0-待审核 1-审核通过 2-审核拒绝 3-提现中 4-提现成功 5-提现失败
   */
  @ApiModelProperty(value = "提现状态 0-待审核 1-审核通过 2-审核拒绝 3-提现中 4-提现成功 5-提现失败")
  private Integer withdrawalState;

  /**
   * 审核周期（天）
   */
  @ApiModelProperty(value = "审核周期（天）")
  private Integer reviewPeriod;

  /**
   * 银行名称
   */
  @ApiModelProperty(value = "银行名称")
  private String bankName;

  /**
   * 银行卡号
   */
  @ApiModelProperty(value = "银行卡号")
  private String bankCard;

  /**
   * 银行卡持有人姓名
   */
  @ApiModelProperty(value = "银行卡持有人姓名")
  private String accountName;

  /**
   * 审核人ID
   */
  @ApiModelProperty(value = "审核人ID")
  private Long auditUserId;

  /**
   * 审核备注
   */
  @ApiModelProperty(value = "审核备注")
  private String auditRemark;

  /**
   * 申请时间
   */
  @ApiModelProperty(value = "申请时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime applyTime;

  /**
   * 审核时间
   */
  @ApiModelProperty(value = "审核时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime auditTime;

  /**
   * 提现成功时间
   */
  @ApiModelProperty(value = "提现成功时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime successTime;

  /**
   * 创建时间
   */
  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  /**
   * 更新时间
   */
  @ApiModelProperty(value = "更新时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime updateTime;

  private static final long serialVersionUID = 1L;
}